package com.yxy.ms.manager.service;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.github.pagehelper.Page;
import com.yxy.ms.manager.entity.po.A22UrlMapping;
import com.yxy.ms.manager.entity.po.A23DataFile;
import com.yxy.ms.manager.entity.po.A36OrganTransform;
import com.yxy.ms.manager.entity.po.A36TollIntervalInfo;
import com.yxy.ms.manager.entity.po.ClearDataTemp;
import com.yxy.ms.manager.entity.po.ClearErrorInfo;
import com.yxy.ms.manager.entity.po.ClearMessageInfo;
import com.yxy.ms.manager.entity.po.ClearMessageInfoKey;
import com.yxy.ms.manager.entity.po.ClearMessageValidateRecord;
import com.yxy.ms.manager.entity.po.ClearPendingCharge;
import com.yxy.ms.manager.entity.po.ClearSendRecord;
import com.yxy.ms.manager.entity.po.ErrorData;
import com.yxy.ms.manager.entity.po.M21DataSendRecord;
import com.yxy.ms.manager.entity.po.TransExit;
import com.yxy.ms.manager.entity.po.TransGantryEtc;

public interface MonitorService {
    /**
     * <函数描述> 异常信息表
     * 
     * @param params
     * @return
     */
    Page<ErrorData> findErrorDataList(Map<String, Object> params);

    /**
     * <函数描述> A36OrganTransform信息表
     * 
     * @param params
     * @return
     */
    Page<A36OrganTransform> findA36OrganTransformList(Map<String, Object> params);

    /**
     * <函数描述> A36TollIntervalInfo收费单元信息表
     * 
     * @param params
     * @return
     */
    Page<A36TollIntervalInfo> findA36TollIntervalInfo(Map<String, Object> params);

    /**
     * <函数描述> A22UrlMapping信息表
     * 
     * @param params
     * @return
     */
    Page<A22UrlMapping> findA22UrlMapping(Map<String, Object> params);

    /**
     * <函数描述> 清分临时表
     * 
     * @param params
     * @return
     */
    Page<ClearDataTemp> findClearDataTempList(Map<String, Object> params);

    /**
     * <函数描述> 清分信息表
     * 
     * @param params
     * @return
     */
    Page<ClearMessageInfo> findClearMessageInfoList(Map<String, Object> params);

    /**
     * <函数描述> 清分业务错误信息表
     * 
     * @param params
     * @return
     */
    Page<ClearErrorInfo> getClearErrorInfoList(Map<String, Object> params);

    /**
     * <函数描述> 异常信息详情
     * 
     * @param params
     * @return
     */
    ErrorData getById(String id);

    /**
     * <函数描述> A22UrlMapping信息详情
     * 
     * @param params
     * @return
     */
    A22UrlMapping getA22UrlMappingEdit(String id);

    /**
     * <函数描述> A22UrlMapping数据类型下拉列表
     * 
     * @param params
     * @return
     */
    List<A22UrlMapping> findA22UrlMappingDataType();

    /**
     * <函数描述>清分交易类型下拉列表
     * 
     * @return
     */
    List<?> loadTransTypeCodeDropList();

    /**
     * <函数描述>删除清分交易类型
     * 
     * @param mid
     * @param transTypeCode
     */
    void deleteClearTempData(Long mid, Integer transTypeCode);

    TransGantryEtc getTransGantryEtcById(Long mid);

    TransExit getTransExitById(Long mid);

    void saveA22UrlMapping(A22UrlMapping record);

    ClearMessageInfo getClearMessageInfo(ClearMessageInfoKey key);

    Page<A23DataFile> findA23DataFile(Map<String, Object> params);

    Page<M21DataSendRecord> findgetM21DataSendRecord(Map<String, Object> params);

    ClearErrorInfo getClearErrorInfo(String fileVersion, Integer transTypeCode, Date createTime);

    Page<ClearSendRecord> findClearSendRecords(Map<String, Object> params);

    Page<ClearPendingCharge> getClearPendingCharges(Map<String, Object> params);

    Page<ClearMessageValidateRecord> getClearMessageValidateRecords(Map<String, Object> params);

}
